package com.arpa.wms.service;

import com.arpa.wms.domain.dto.InventoryDTO;
import com.arpa.wms.domain.dto.MoveItemDTO;
import com.arpa.wms.domain.dto.MoveRegisterDTO;
import com.arpa.wms.domain.vo.*;

/**
 * @author: Allen chen
 * @Date 2020/10/27
 * @Description: PDA移位任务Service
 */
public interface IWmsMoveTaskService {

    /**
     *  @author: Allen chen
     *  @Date: 2020/10/28 13:32
     *  @Description: 托盘移位 根据托盘号查询库存信息
     */
    AllMoveConfirmVO palletQuery(InventoryDTO inventoryDTO);

    /**
     *  @author: Allen chen
     *  @Date: 2020/10/28 13:32
     *  @Description: 无计划移位 根据库位、容器号（选填）查询
     */
    ScanLocationPageVO noPlanScanLocation(InventoryDTO inventoryDTO);

    /**
     *  @author: Allen chen
     *  @Date: 2020/10/28 13:32
     *  @Description: 无计划移位，查询商品
     */
    ScanGoodsPageVO noPlanScanGoods(InventoryDTO inventoryDTO);

    /**
     *  @author: Allen chen
     *  @Date: 2020/10/31 13:12
     *  @Description: 无计划移位 商品确认页面查询商品详情
     */
    InventoryVO noPlanGoodsDetail(InventoryDTO inventoryDTO);

    /**
     *  @author: Allen chen
     *  @Date: 2020/10/31 13:12
     *  @Description: 有计划移位详情（待下架和已上架）
     */
    PlanMoveDetailVO planMoveDetail(MoveRegisterDTO moveRegisterDTO);

    /**
     * 有计划移位查询明细详情
     * @param moveItemDTO
     * @return
     */
     MoveItemVO planMoveItemDetail(MoveItemDTO moveItemDTO);


    /**
     *  @author: Allen chen
     *  @Date: 2020/10/28 14:50
     *  @Description:托盘整个移位确认
     */
    void palletConfirm(InventoryDTO inventoryDTO);
    /**
     *  @author: Allen chen
     *  @Date: 2020/11/2 15:35
     *  @Description: 无计划移位 单商品移位确认
     */
    boolean noPlanConfirmOne(InventoryDTO inventoryDTO);

    /**
     *  @author: Allen chen
     *  @Date: 2020/11/4 19:27
     *  @Description:PDA有计划移位下架接口
     */
    boolean planMoveOff(MoveItemDTO moveItemDTO);

    /**
     *  @author: Allen chen
     *  @Date: 2020/11/9 20:39
     *  @Description: 校验下架
     */
    PlanMoveUpVO planCheckMoveOff(MoveItemDTO moveItemDTO);

    /**
     *  @author: Allen chen
     *  @Date: 2020/11/9 20:39
     *  @Description: 校验上架完成
     */
    PlanMoveUpVO planCheckMoveUp(MoveItemDTO moveItemDTO);
    /**
     *  @author: Allen chen
     *  @Date: 2020/11/5 19:41
     *  @Description: PDA有计划移位上架接口
     */
    boolean planMoveUp(MoveItemDTO moveItemDTO);

    /**
     * 无计划移位查询商品列表信息
     * @param dto
     * @return
     */
    ScanGoodsPageVO noPlanGoodsListDetail(InventoryDTO dto);
}
